package com.whcoding.test.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;

/**
 * @program: spring-boot-learning
 * @description:
 * @JsonIgnore 此注解用于属性上，作用是进行JSON操作时忽略该属性。
 * @JsonFormat 此注解用于属性上，作用是把Date类型直接转化为想要的格式，如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")。
 * @JsonProperty 此注解用于属性上，作用是把该属性的名称序列化为另外一个名称，如把trueName属性序列化为name，@JsonProperty("name")。
 * @author: whcoding
 * @create: 2022-10-31 10:34
 **/
@Data
public class JacksonVO {

	/**
	 * 不JSON序列化年龄属性
	 */
	@JsonIgnore
	private Integer age;

	/**
	 * 格式化日期属性
	 */
	@JsonFormat(pattern = "yyyy年MM月dd日")
	private Date birthday;

	/**
	 * 序列化email属性为mail
	 */
	@JsonProperty("mail")
	private String email;
}
